<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui"
      xmlns:c="http://java.sun.com/jsp/jstl/core">      

<ui:composition template="/WEB-INF/templates/BasicTemplate.xhtml">
    <ui:define name="content">
    <p:layout fullPage="true" id="layout">
	    <p:layoutUnit position="west" header="Menu" collapsible="false">
	    	<h:form>
	    		<p:menu model="#{loginUsuarioBean.model}" />
	    	</h:form>
	    </p:layoutUnit>
		<p:layoutUnit position="east" header="Bienvenido #{loginUsuarioBean.persona.nombre}" collapsible="false">
			<h:form>
				<p:separator />
				<p:commandButton value="Logout" action="#{loginUsuarioBean.logoutUser}"></p:commandButton>
				<p:separator />
				<p:commandButton value="Modificar perfil" action="#{loginUsuarioBean.modificarUsuarioBoton}"></p:commandButton>
			</h:form>
			<p:graphicImage style="width:70%; position:absolute; left:15%; top:80%;" library="images" name="LogoSemiTrans.jpg" />
		</p:layoutUnit>
	    <p:layoutUnit position="center">
	    <f:event listener="#{proyectoBean.inicializarProyectosCerrados}" type="preRenderView" />		  
	          <p:dataTable id="proyectosTable" var="proy" value="#{proyectoBean.proyectos}" 
                 paginator="true" rows="15"  
                 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 rowsPerPageTemplate="5,10,15" style="width:100%"
                 emptyMessage="No se encuentran proyectos cerrados.">  
		        <f:facet name="header">  
		            Proyectos  
		        </f:facet>
		        <p:column style="width:4%">  
		            <f:facet name="header">  
		                <h:outputText value="Numero" />  
		            </f:facet>  
		            <h:outputText value="#{proy.numero}" />  
		        </p:column>  
		        <p:column style="width:20%">  
		            <f:facet name="header">  
		                <h:outputText value="Nombre" />  
		            </f:facet>  
		            <h:outputText id="nombreProy" value="#{proy.nombre}" />
		            <p:tooltip id="toolTipNombreProy" for="nombreProy" value="#{proy.descripcion}" />  
		        </p:column>
		        <p:column style="width:60%">
		        	<f:facet name="header">  
		                <h:outputText value="Opciones" />  
		            </f:facet>
		            <p:panelGrid columns="5">
		            	 <p:row>
		            	 <form>
		            	 	<p:commandButton id= "mostrarBtn" icon="ui-icon-search" style="width: auto;font-size:80%;" 
		            	 		action="#{proyectoBean.obtenerDatosProyectoSeleccionado}" update="dlgMostrar">
		            			<f:setPropertyActionListener value="#{proy.numero}" target="#{proyectoBean.idProyectoSeleccionado}" />
		           			</p:commandButton>
		           		</form>
		           			<p:tooltip id="toolTipMostrar" for="mostrarBtn" value="Mostrar informacion del proyecto" />
		           			
		           			 <p:dialog id="dlgMostrar" header="Mostrar Proyecto" widgetVar="dlgMostrarWD" modal="true" height="300" width="550" appendToBody="true" dynamic="true">  
							
								<p:panelGrid id="pan1" columns="2" style="height:200px; width:450px;">
									<p:outputLabel value="Numero"></p:outputLabel>
									<p:outputLabel id="num" autoUpdate="true" value="#{proyectoBean.proyectoSeleccionado.numero}"></p:outputLabel>
									<h:outputText value="&#160;" />
									<h:outputText value="&#160;" />
									<p:outputLabel value="Fecha Creación"></p:outputLabel>
									<p:outputLabel id="fecha" autoUpdate="true" value="#{proyectoBean.proyectoSeleccionado.fecha}"></p:outputLabel>
									<h:outputText value="&#160;" />
									<h:outputText value="&#160;" />
									<p:outputLabel value="Nombre"></p:outputLabel>
									<p:outputLabel id="nom" autoUpdate="true" value="#{proyectoBean.proyectoSeleccionado.nombre}"></p:outputLabel>
									<h:outputText value="&#160;" />
									<h:outputText value="&#160;" />
									<p:outputLabel value="Descripcion"></p:outputLabel>
									<p:outputLabel id="desc" autoUpdate="true" value="#{proyectoBean.proyectoSeleccionado.descripcion}"></p:outputLabel>
									<h:outputText value="&#160;" />
									<h:outputText value="&#160;" />
									<p:outputLabel value="Método"></p:outputLabel>
									<p:outputLabel id="met" autoUpdate="true" value="#{proyectoBean.proyectoSeleccionado.metodo}"></p:outputLabel>
									<h:outputText value="&#160;" />
									<h:outputText value="&#160;" />
									<p:outputLabel value="Estado"></p:outputLabel>
									<p:outputLabel id="est" autoUpdate="true" value="#{proyectoBean.proyectoSeleccionado.estado}"></p:outputLabel>
								</p:panelGrid>
							</p:dialog> 
		            	 </p:row>
		            	 <p:row>
		            	 	<p:commandButton id= "Comparar100PBtn" icon="ui-icon-alert" style="width: auto;font-size:80%;"
		            	 		disabled="#{proyectoBean.perteneceALasFuncionalidades('Listado Comparativo 100P') or proy.metodo != '100P'}" action="#{proyectoBean.listadoComparativo100P}"
		            	 		update="comparacion:tablaComparacion100P">
		            			<f:setPropertyActionListener value="#{proy.numero}" target="#{proyectoBean.idProyectoSeleccionado}" />
		           			</p:commandButton>
		           			<p:tooltip id="toolComparar100PBtn" for="Comparar100PBtn" value="Listado comparativo 100P" />
		           			<p:dialog id="Comparar100P" header="Listado comparativo 100P" widgetVar="dlgComparar100P" modal="true" height="500" width="650" appendToBody="true" dynamic="true">  
		           			<h:form id="comparacion">
		           			<p:dataTable id="tablaComparacion100P" var="nombreFila" value="#{proyectoBean.priorizaciones}" rowIndexVar="filaIdx" emptyMessage="Los usuarios no han finalizado sus priorizaciones.">
							    <p:column headerText="" styleClass="ui-widget-header">
							        <h:outputText value="#{nombreFila.requerimiento.nombre}"/>
							    </p:column>
							
							    <p:columns var="nombreColumna" value="#{proyectoBean.priorizaciones}" headerText="#{nombreColumna.requerimiento.nombre}"
							               columnIndexVar="colIdx">
							        <ui:repeat value="#{proyectoBean.matriz[filaIdx][colIdx]}" var="data">
							            <p:panel>
							                <h:outputText value="#{data}"/>
							            </p:panel>
							        </ui:repeat>
							    </p:columns>
							</p:dataTable>
						
							<p:commandButton value="Descargar" ajax="false" icon="ui-icon-arrowthick-1-s" >
							        <p:fileDownload value="#{proyectoBean.descargarArchivo('100P')}" />
							</p:commandButton>
		           			</h:form>
		           			</p:dialog>
		            	 </p:row>
		            	 <p:row>
		            	 	<p:commandButton id= "verResultFinBtn" icon="ui-icon-image" style="width: auto;font-size:80%;"
		            	 		disabled="#{proyectoBean.perteneceALasFuncionalidades('VerResultadosFinal')}"
		            	 		action="#{proyectoBean.obtenerResultadoPriorizacionProyectoSeleccionado}"
		            	 		update="verResultFin100P verResultFinPG">
		            			<f:setPropertyActionListener value="#{proy.numero}" target="#{proyectoBean.idProyectoSeleccionado}" />
		           			</p:commandButton>
		           			<p:tooltip id="toolTipVerResultFin" for="verResultFinBtn" value="Ver resultados de las prioridades de los requerimientos" />
		           			
		           			<p:dialog id="verResultFin100P" header="Listado de Priorizaciones" widgetVar="verResultFin100PWD" modal="true" height="500" width="650" appendToBody="true" dynamic="true" >  
								<h:form id="verResultFin100PForm">
									<p:dataTable id="verResultFin100PTable" var="prior" value="#{proyectoBean.proyectoPriorizacion.priorizaciones}"
								     	 paginator="true" rows="15"  
                 						 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 						 rowsPerPageTemplate="5,10,15"
								     	 emptyMessage="No hay requerimientos para este proyecto o nadie ha finalizado su priorización">
								    	<f:facet name="header">  
								             Priorizacion Final. Falta/n <h:outputText value="#{proyectoBean.proyectoPriorizacion.cantUsuariosSinPriorizar}"/> usuario/s
								        </f:facet> 
								             				
								        <p:column style="width:14%">
								            <p:rowToggler />
								        </p:column>
								 
								        <p:column style="width:10%">
								            <f:facet name="header">
								                    Nro
								            </f:facet>
								            <h:outputText value="#{prior.requerimiento.nroRequerimiento}"/>
								        </p:column>
								 
								        <p:column style="width:60%">
								            <f:facet name="header">
								                    Nombre
								            </f:facet>
								            <h:outputText value="#{prior.requerimiento.nombre}" />
								        </p:column>
								        
								        <p:column style="width:16%">
								            <f:facet name="header">
								                    Valor
								            </f:facet>
								            <h:outputText value="#{prior.valor}" />
								        </p:column>
								 
								        <p:rowExpansion>
								 			<p:panel header="Descripcion">
										        <h:outputText value="#{prior.requerimiento.descripcion}" />
										    </p:panel>
								        </p:rowExpansion>
								        
								    </p:dataTable>
								    <p:commandButton value="Descargar" ajax="false" icon="ui-icon-arrowthick-1-s">
							        	<p:fileDownload value="#{proyectoBean.descargarArchivo('LISTADO_100P')}" />
							    </p:commandButton>
								</h:form>
							</p:dialog>
							
							<p:dialog id="verResultFinPG" header="Listado de Priorizaciones" widgetVar="verResultFinPGWD" modal="true" height="500" width="650" appendToBody="true" dynamic="true" >  
								<h:form id="verResultFinPGForm">
									<p:dataTable id="verResultFinPGTable" var="prior" value="#{proyectoBean.proyectoPriorizacion.priorizaciones}"
								     	 paginator="true" rows="15"  
                 						 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 						 rowsPerPageTemplate="5,10,15"
								     	 emptyMessage="No hay requerimientos para este proyecto o nadie ha finalizado su priorización">
								    	<f:facet name="header">  
								             Priorizacion Final. Falta/n <h:outputText value="#{proyectoBean.proyectoPriorizacion.cantUsuariosSinPriorizar}"/> usuario/s
								        </f:facet> 
								             				
								        <p:column style="width:12%">
								            <p:rowToggler />
								        </p:column>
								 
								        <p:column style="width:10%">
								            <f:facet name="header">
								                    Nro
								            </f:facet>
								            <h:outputText value="#{prior.requerimiento.nroRequerimiento}"/>
								        </p:column>
								 
								        <p:column style="width:50%">
								            <f:facet name="header">
								                    Nombre
								            </f:facet>
								            <h:outputText value="#{prior.requerimiento.nombre}" />
								        </p:column>
								        
								 		<p:column style="width:22%">
								            <f:facet name="header">
								                    Estimable/Valor
								            </f:facet>
								            <h:panelGrid columns="1" style="margin-bottom:15px">	            	
										        <p:selectOneMenu id="categorias" converter="javax.faces.Float" value="#{prior.valor}" style="width:250px">
               										<f:selectItem itemValue="0" itemLabel="Precisamente" itemDisabled="true"/>
               										<f:selectItem itemValue="1" itemLabel="Razonablemente bien" itemDisabled="true"/>
               										<f:selectItem itemValue="2" itemLabel="No se puede estimar" itemDisabled="true"/>
               										<f:selectItem itemValue="3" itemLabel="Imprescindible" itemDisabled="true"/>
               										<f:selectItem itemValue="4" itemLabel="Importante" itemDisabled="true"/>
               										<f:selectItem itemValue="5" itemLabel="Nice To Have" itemDisabled="true"/>
               										<p:ajax process="@this"/>
           										</p:selectOneMenu>
										    </h:panelGrid>
								        </p:column>
								        
								        <p:column style="width:16%">
								            <f:facet name="header">
								                    Esfuerzo
								            </f:facet>
								           <h:outputText value="N/A" rendered="#{prior.esfuerzo == -1}" /> 
								           <h:outputText value="#{prior.esfuerzo}" rendered="#{prior.esfuerzo != -1}" /> 
								        </p:column>
								        
								        <p:column style="width:10%">
								            <f:facet name="header">
								                    Perfil
								            </f:facet>
								            <h:outputText value="#{prior.perfilUsuario}" />
								        </p:column>
								        
								        <p:rowExpansion>
								 			<p:panel header="Descripcion">
										        <h:outputText value="#{prior.requerimiento.descripcion}" />
										    </p:panel>
								        </p:rowExpansion>
								        
								    </p:dataTable>
								    <p:commandButton value="Descargar" ajax="false" icon="ui-icon-arrowthick-1-s">
							        	<p:fileDownload value="#{proyectoBean.descargarArchivo('LISTADO_PG')}" />
							    	</p:commandButton>
								</h:form>
							</p:dialog>							
		            	 </p:row>
		            	 <p:row>
		            	 	<p:commandButton id= "verResultUsuBtn" icon="ui-icon-contact" style="width: auto;font-size:80%;"
		            	 		disabled="#{proyectoBean.perteneceALasFuncionalidades('VerResultadosPorUsuario')}"
		            	 		action="#{proyectoBean.obtenerResultadoPriorizacionPorUsuario}"
		            	 		update="verResultParcialUsu100P verResultParcialUsuPG">
		            	 		
		            			<f:setPropertyActionListener value="#{proy.numero}" target="#{proyectoBean.idProyectoSeleccionado}" />
		           			</p:commandButton>
		           			<p:tooltip id="toolTipVerResultUsu" for="verResultUsuBtn" value="Ver resultados de las prioridades de los requerimientos por usuario" />
		           			
		           			<p:dialog id="verResultParcialUsu100P" header="Ver resultados de cada usuario" widgetVar="dlgVerResultUsuWD" modal="true" height="500" width="650" appendToBody="true" dynamic="true">  
								<form id="verResultParcial100P">
									<p:dataTable id="verResultFinTabla" var="usu" value="#{proyectoBean.usuariosPriorizacion}"
								     	 paginator="true" rows="15"  
                 						 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 						 rowsPerPageTemplate="5,10,15"
                 						 emptyMessage="No hay requerimientos para este proyecto o nadie ha finalizado su priorización">
								     	>
								    	<f:facet name="header">  
								             Priorizacion Final. Faltan <h:outputText value="#{proyectoBean.usuariosPendientes}"/> usuarios
								        </f:facet> 
								             				
								        <p:column style="width:14%">
								        	<p:rowToggler></p:rowToggler>
								        </p:column>
								 
								        <p:column style="width:10%">
								            <f:facet name="header">
								                    Nombre
								            </f:facet>
								            <h:outputText value="#{usu.persona.nombre}"/>
								        </p:column>
								 
								        <p:column style="width:60%">
								            <f:facet name="header">
								                    Apellido
								            </f:facet>
								            <h:outputText value="#{usu.persona.apellido}" />
								        </p:column>
								        
								        <p:column style="width:16%">
								            <f:facet name="header">
								                    Mail
								            </f:facet>
								            <h:outputText value="#{usu.persona.mail}" />
								        </p:column>
								        
								        <p:column style="width:16%">
								            <f:facet name="header">
								                    Cargo
								            </f:facet>
								            <h:outputText value="#{usu.persona.cargo}" />
								        </p:column>
								 
								        <p:rowExpansion id="expansion">
								        	<h:form>
										        <p:dataTable var="prio" value="#{usu.priorizacion}"  emptyMessage="El usuario no ha priorizado.">
										        	<p:column style="width:60%">
											            <f:facet name="header">
											                    Numero
											            </f:facet>
											            <h:outputText value="#{prio.requerimiento.nroRequerimiento}" />
									        		</p:column>
									        		<p:column style="width:60%">
											            <f:facet name="header">
											                    Nombre
											            </f:facet>
											            <h:outputText value="#{prio.requerimiento.nombre}" />
									        		</p:column>
									        		<p:column style="width:60%">
											            <f:facet name="header">
											                    Descripcion
											            </f:facet>
											            <h:outputText value="#{prio.requerimiento.descripcion}" />
									        		</p:column>
									        		<p:column style="width:60%">
											            <f:facet name="header">
											                    Valor
											            </f:facet>
											            <h:outputText value="#{prio.valor}" />
											            
									        		</p:column>
										        </p:dataTable>
									        </h:form>
								        </p:rowExpansion>
								        
								    </p:dataTable>
								</form>
							</p:dialog> 
							
							<p:dialog id="verResultParcialUsuPG" header="Ver resultados de cada usuario" widgetVar="dlgVerResultUsuPGWD" modal="true" height="500" width="650" appendToBody="true" dynamic="true">  
								<form id="verResultParcialPG">
									<p:dataTable id="verResultParTabla" var="usu" value="#{proyectoBean.usuariosPriorizacion}"
								     	 paginator="true" rows="15"  
                 						 paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                 						 rowsPerPageTemplate="5,10,15"
                 						 emptyMessage="No hay requerimientos para este proyecto o nadie ha finalizado su priorización">
								     	>
								    	<f:facet name="header">  
								             Priorizacion Final. Faltan <h:outputText value="#{proyectoBean.usuariosPendientes}"/> usuarios
								        </f:facet> 
								             				
								        <p:column style="width:14%">
								        	<p:rowToggler></p:rowToggler>
								        </p:column>
								 
								        <p:column style="width:10%">
								            <f:facet name="header">
								                    Nombre
								            </f:facet>
								            <h:outputText value="#{usu.persona.nombre}"/>
								        </p:column>
								 
								        <p:column style="width:60%">
								            <f:facet name="header">
								                    Apellido
								            </f:facet>
								            <h:outputText value="#{usu.persona.apellido}" />
								        </p:column>
								        
								        <p:column style="width:16%">
								            <f:facet name="header">
								                    Mail
								            </f:facet>
								            <h:outputText value="#{usu.persona.mail}" />
								        </p:column>
								        
								        <p:column style="width:16%">
								            <f:facet name="header">
								                    Cargo
								            </f:facet>
								            <h:outputText value="#{usu.persona.cargo}" />
								        </p:column>			
								 
								        <p:rowExpansion>
								        	<h:form>
										        <p:dataTable var="prio" value="#{usu.priorizacion}"  emptyMessage="El usuario no ha priorizado.">
										        	<p:column style="width:60%">
											            <f:facet name="header">
											                    Numero
											            </f:facet>
											            <h:outputText value="#{prio.requerimiento.nroRequerimiento}" />
									        		</p:column>
									        		<p:column style="width:60%">
											            <f:facet name="header">
											                    Nombre
											            </f:facet>
											            <h:outputText value="#{prio.requerimiento.nombre}" />
									        		</p:column>
									        		<p:column style="width:60%">
											            <f:facet name="header">
											                    Estimable
											            </f:facet>
											            
											            <h:outputText value="Precisamente" rendered="#{prio.valor == 0}" />
											            <h:outputText value="Razonablemente bien" rendered="#{prio.valor == 1}" />
											            <h:outputText value="No se puede estimar" rendered="#{prio.valor == 2}" />
											            <h:outputText value="Imprescindible" rendered="#{prio.valor == 3}" />
											            <h:outputText value="Importante" rendered="#{prio.valor == 4}" />
											            <h:outputText value="Nice to have" rendered="#{prio.valor == 5}" />
									        		</p:column>
									        		<p:column style="width:60%">
											            <f:facet name="header">
											                    Esfuerzo
											            </f:facet>
											            <h:outputText value="N/A" rendered="#{prio.esfuerzo == -1}" /> 
								           				<h:outputText value="#{prio.esfuerzo}" rendered="#{prio.esfuerzo != -1}" />
									        		</p:column>
										        </p:dataTable>
									        </h:form>
								        </p:rowExpansion>
								        
								    </p:dataTable>
								</form>
							</p:dialog>
		            	 </p:row>
		            </p:panelGrid>
				</p:column>			        
		    </p:dataTable> 
		</p:layoutUnit>
	</p:layout>
    </ui:define>
</ui:composition>
</html>
